import { getInfo, setInfo } from '@/utils/storage'

export default {
  namespaced: true,
  // 推荐函数写法 - 保证数据的独立性
  state () {
    return {
      // 个人权证相关
      userInfo: getInfo()
    }
  },
  mutations: {
    // 所有 mutations 的第一个参数，都是 state
    // 第二个参数是 payload
    setUserInfo (state, obj) {
      state.userInfo = obj
      setInfo(obj)
    }
  },
  actions: {
    logout (context) {
      // 个人信息要重置
      context.commit('setUserInfo', {})

      // 购物车信息要重置（跨模块调用mutation） cart/setCartList
      // { root: true } - 开启全局模式，跨模块查找
      context.commit('cart/setCartList', [], { root: true })
    }
  },
  getters: {}
}
